<div class="song-scroll-v" fe-role="Scroll" fe-cfg="scroll_dir:v,scroll_duration:0.3,scroll_easing:ease-out">
  <div class="scroll-list">

    <% song_rows.each_with_index do |row, row_index| %>
      <div class="song-scroll-h" fe-role="Scroll"
           fe-cfg="scroll_dir:h,auto_list_width:yes,scroll_duration:0.3,scroll_easing:ease-out,<%= "default_focus:yes" if row_index === params[:row_index].to_i %>">
        <ul class="scroll-list clearfix" style="width: <%= row.size * 300 + 100 %>px;">

          <% row.each_with_index do |item, item_index| %>
            <li
              data-href="<%= fullscreen_play_path(play_type: 'combo', song_id: item.id) %>"
              data-head="<%= "head" if item_index === 0 %>"
              data-tail="<%= "tail" if item_index === 4 %>"
              data-row_index="<%= row_index %>"
              data-item_index="<%= item_index %>"
              fe-role="Widget"
              fe-cfg="<%= "default_focus:yes" if item_index === params[:item_index].to_i %>"
              id="<%= "song-tab-#{row_index * 5 + item_index}" %>"
              class="song-tab"
            >

              <div class="song-tab-photo">
                <div class="photo-mask"></div>
                <%= image_tag("icons/播放_play.png", class: "play-icon") %>
                <%= image_tag(mv_image_url(item), class: "song-tab-photo-img") %>
                <!--                这里不适宜用onerror, 直接根据 is_shown 属性来返回 默认图-->
              </div>
              <div class="song-tab-inner">
                <div class="text-mask"></div>
                <div class="marquee-truncate overflow-hidden">
                  <span class="marquee-content"><%= item[:name] %></span>
                </div>
              </div>
            </li>
          <% end %>

        </ul>
      </div>
    <% end %>

  </div>
</div>
